_____ _    _         _____  _____ _   _          _____   _____  
    / ____| |  | |  /\   |  __ \|_   _| \ | |   /\   / _ \ \ / / _ \ 
   | |  __| |  | | /  \  | |__) | | | |  \| |  /  \ | | | \ V / | | |
   | | |_ | |  | |/ /\ \ |  _  /  | | | . ` | / /\ \| | | |> <| | | |
   | |__| | |__| / ____ \| | \ \ _| |_| |\  |/ ____ \ |_| / . \ |_| |
    \_____|\____/_/    \_\_|  \_\_____|_| \_/_/    \_\___/_/ \_\___/ 
                                                                     
                    ./Guarina0x0
Titulo: TryHackMe - Boiler CTF
Fecha: 15-09-2021
Descripcion: Enumeracion - Joomla - RCE

TryHackMe - Boiler Writeup

## Ping:

ping -c1 10.10.196.195

Mediante el comando ping vamos a trazar una ruta ICMP para ver si la maquina esta activa y ante que tipo de sistema operativo estamos

Podemos ver que la respuesta del ttl es 63 , el TTL en maquinas Linux es 64 y en maquinas Windows 128 , en este caso es 63 porque pasa por un nodo intermediario.

## Enumeracion :

Ahora vamos a proceder a ver que servicios tiene esta maquina abiertos para ello vamos a realizar una enumeracion de puertos:

Mediante el parametro --min-rate 5000 va a emitir paquetes no mas lento que 5000 paquetes por segundo

  • Puerto 21 FTP
  • Puerto 80 HTTP
  • Para mayor informacion sobre el reconocimiento de puertos , vamos a lanzar unos scripts basicos de enumeracion , que nos dara mayor informacion sobre los servicios que corren

    Podemos ver que tenemos el Servicio FTP abierto y encontramos el usuario Anonymous habilitado y encontramos un fichero robots.txt en el servicio Apache

    Mediante la herramienta WhatWeb vamos a ver si estamos ante algun gestor de contenido como WordPress , Joomla ...ect.

    ## Reconocimiento FTP :

    Vamos a acceder mediante el usuario Anonymous en busca de algun archivo o informacion , podemos ver que nos encontramos un fichero txt llamado info que se encontraba oculto

    Si abrimos el fichero vamos a ver que nos encontramos ante una frase encriptada , si sabemos algo de criptografia nos vamos a dar cuenta rapido que esta encriptado ante un algoritmo de cifrado por sustitución

    Podemos descifrarlo rapido usando alguna herramienta online y ver que pista nos esta proporcionando

    Nos dice poco , pero nos dice que la Enumeracion es la clave

    ## Reconocimiento Web :

    Si abrimos el navegador nos vamos a encontrar ante la pagina por defecto de Apache , que nos reporta poca informacion.

    Pero en el reconocimiento que hizimos mas exhaustivo nos encontramos un robots.txt , vamos a ver que tipo de informacion nos proporciona sobre posible directorios web potenciales

    Si probamos los directorios parecen "Rabitt Holes" que no nos llevan a ningun lado

    Como en la pista anterior , nos dicen que la enumeracion es la clave voy a realizar la enumeracion por el protocolo UDP , en busca de servicios potenciales abiertos

    Podemos ver que por el protocolo UDP tenemos abierto el puerto 10000 , normalmente este puerto es usado por un servicio llamado Webmin , si entramos al puerto nos va hacer un redirect , por lo que tendremos que añadirlo a /etc/hosts ya que se esta aplicando Virtual Hosting.

    Pero como no tenemos credenciales potenciales , lo vamos a dejar en un segundo plano y vamos a realizar fuzzing en busqueda de directorios web

    El Fuzzing nos reporta 2 posibles directorios web potenciales

  • /joomla
  • /manual
  • Joomla es un gestor de contenido parecido a WordPress , podemos ver que no esta muy actualizado

    Existe un directorio potencial llamado /joomla/_test que nos ofrece una cierta informacion importante , en la parte superior izquierda tenemos un texto "sar2html"

    Si buscamos que es sar2html nos vamos a dar cuenta que cuenta con un CVE y cuenta con prueba de concepto

    Si investigamos como funciona la vulnerabilidad nos vamos a dar cuenta que es pasandole como parametro un comando y nos representara la informacion en el margen izquierdo en los botones que tenemos

    Primero realize un ls , para ver contenia la maquina y vi que habia un fichero llamado log.txt , el cual ejecute un cat para poder ver la informacion

    Si tenemos buena vista podemos ver un usuario y una contraseña del servicio SSH , que esta funcionando en otro puerto diferente al por defecto

    Por lo que vamos a conectarnos al servicio SSH que esta funcionando en el puerto 55007 y vamos a ingresar el usuario y contraseña que hemos obtenido para verificarlas

    ## Escalada de Privilegios :

    Vamos a inspeccionar el usuario Basterd , si hacemos un listado nos encontramos ante script llamado backup.sh , el cual contiene las credenciales del otro usuario llamado "stoner"

    Vamos a cambiar al usuario Stoner y aqui ya podremos el flag del usuario llamado .secret

    Ahora solo nos queda escalar privilegios para poder ser Root , debemos buscar permisos SUID

    find / -perm /4000 -type f -exec ls -ld {} \; 2>/dev/null

    Encontramos un servicio potencial llamado /usr/bin/find , podemos explotar este binario con la ayuda de esta web https://gtfobins.github.io/gtfobins/find/

    Y ya tendriamos la maquina Boiler CTF explotada , solo nos quedaria responder a las preguntas que nos indica TryHackMe!!